<html>
<head><meta charset="utf-8"><title>playground multi-crate design · general · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/index.html">general</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html">playground multi-crate design</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="222460545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222460545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222460545">(Jan 12 2021 at 16:54)</a>:</h4>
<p><span class="user-mention" data-user-id="125294">@Aaron Hill</span> so, where are you starting from w.r.t. the playground architecture?</p>



<a name="222460620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222460620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222460620">(Jan 12 2021 at 16:54)</a>:</h4>
<p>Are you asking how familiar I am with it, or what my plans are?</p>



<a name="222460949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222460949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222460949">(Jan 12 2021 at 16:56)</a>:</h4>
<p>"yes" <span aria-label="wink" class="emoji emoji-1f609" role="img" title="wink">:wink:</span></p>



<a name="222461034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222461034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222461034">(Jan 12 2021 at 16:57)</a>:</h4>
<p>I don't have any experience with the playground code</p>



<a name="222461090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222461090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222461090">(Jan 12 2021 at 16:57)</a>:</h4>
<p>is this going to end up requiring major changes to the implementation?</p>



<a name="222461270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222461270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222461270">(Jan 12 2021 at 16:58)</a>:</h4>
<p>Without doing any work on it myself, just guessing, I'm thinking it's in the 6-8 range of 1(easy)-10(hard)</p>



<a name="222464747"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222464747" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222464747">(Jan 12 2021 at 17:19)</a>:</h4>
<p>IIRC eddy mentioned this idea before: that maybe integrating rustc's <code>compiletest</code> (and annotations) could help for multiple crates in the playground. is that what you also had in mind ?</p>



<a name="222472718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222472718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222472718">(Jan 12 2021 at 18:18)</a>:</h4>
<p>I do not recall that, and I don't know enough (read: anything) about compiletest to even understand the connection <span aria-label="innocent" class="emoji emoji-1f607" role="img" title="innocent">:innocent:</span></p>



<a name="222472876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222472876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222472876">(Jan 12 2021 at 18:19)</a>:</h4>
<p>My thoughts were going to be </p>
<ol>
<li>Enhance the editor for multiple files</li>
<li>Enhance the JSON payloads to support multiple files</li>
<li>Enhance the backend so it writes multiple crates / files.</li>
</ol>



<a name="222472898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222472898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222472898">(Jan 12 2021 at 18:19)</a>:</h4>
<p>the only similarity is that compiletest has <code>--aux-build</code>, but I think bringing in all of compiletest for that is overkill</p>



<a name="222473741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222473741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222473741">(Jan 12 2021 at 18:25)</a>:</h4>
<p>could be</p>



<a name="222473865"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222473865" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222473865">(Jan 12 2021 at 18:26)</a>:</h4>
<p>at least it seems monaco has made this easier and more common I feel</p>



<a name="222474129"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474129" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474129">(Jan 12 2021 at 18:28)</a>:</h4>
<p>Too bad we don't use monaco <span aria-label="wink" class="emoji emoji-1f609" role="img" title="wink">:wink:</span></p>



<a name="222474150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474150">(Jan 12 2021 at 18:28)</a>:</h4>
<p>yeah, PRs welcome <span aria-label="clown" class="emoji emoji-1f921" role="img" title="clown">:clown:</span></p>



<a name="222474242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474242">(Jan 12 2021 at 18:29)</a>:</h4>
<p>I don't think the editor proper will be a problem. We already rewrite all the text when we do something like <code>rustfmt</code>, so switching tabs could do the same</p>



<a name="222474298"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474298" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474298">(Jan 12 2021 at 18:29)</a>:</h4>
<p>getting some sort of file-structure-y component might be annoying</p>



<a name="222474381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474381">(Jan 12 2021 at 18:30)</a>:</h4>
<p>very true</p>



<a name="222474416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474416">(Jan 12 2021 at 18:30)</a>:</h4>
<p>just change the <code>text</code> redux field to <code>{filename =&gt; text}</code>, effectively</p>



<a name="222474434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222474434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222474434">(Jan 12 2021 at 18:30)</a>:</h4>
<p>update a selector or two</p>



<a name="222478538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222478538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bjorn3 <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222478538">(Jan 12 2021 at 19:01)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116113">lqd</span> <a href="#narrow/stream/122651-general/topic/playground.20multi-crate.20design/near/222474150">said</a>:</p>
<blockquote>
<p>yeah, PRs welcome <span aria-label="clown" class="emoji emoji-1f921" role="img" title="clown">:clown:</span></p>
</blockquote>
<p>How would that work with the simple editor style? I need that one on mobile. The advanced editor style is pretty much unusable.</p>



<a name="222481106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222481106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222481106">(Jan 12 2021 at 19:20)</a>:</h4>
<p>As I mentioned, the editor core shouldn't be a problem. A file picker would sit aside it.</p>



<a name="222490884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222490884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222490884">(Jan 12 2021 at 20:38)</a>:</h4>
<p>Multi-crate playground would be pretty great! Especially for debugging issues <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="222496063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/playground%20multi-crate%20design/near/222496063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/playground.20multi-crate.20design.html#222496063">(Jan 12 2021 at 21:20)</a>:</h4>
<p>I opened this thread because someone said they wanted to work on it; don't get excited that <em>I</em> am working on it <span aria-label="innocent" class="emoji emoji-1f607" role="img" title="innocent">:innocent:</span></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>